package com.huangyi.adminservice.house.service.filter;


import com.huangyi.adminapi.house.domain.dto.SearchHouseListReqDTO;
import com.huangyi.adminservice.house.domain.dto.HouseDTO;
import org.springframework.stereotype.Component;

/**
 * 区域筛选策略实现类
 * 
 * <p>根据区域ID对房源进行筛选，如果未设置区域筛选条件则通过所有房源
 * 
 * @author huangyi
 * @version 1.0
 * @since 2024
 */
@Component
public class RegionFilter implements IHouseFilter{
    
    /**
     * 根据区域ID过滤房源
     * 
     * @param houseDTO 待过滤的房源信息
     * @param reqDTO 搜索请求参数，包含区域筛选条件
     * @return true-通过过滤，false-被过滤掉，null-不进行过滤
     */
    @Override
    public Boolean filter(HouseDTO houseDTO, SearchHouseListReqDTO reqDTO) {
        // 不设置区域筛选条件时，通过所有房源
        // 设置区域筛选条件时，只有房源所在区域与筛选条件一致才通过
        return null == reqDTO.getRegionId() || houseDTO.getRegionId().equals(reqDTO.getRegionId());
    }
}
